#ifndef DICTIONARY_H
#define DICTIONARY_H

#include <string>
#include <map>
#include "book.h"

class Dictionary : public Book {
private:
    std::map<std::string, std::string> words;
public:
    // Constructors & destructor
    Dictionary();
    Dictionary(const Dictionary &other);
    Dictionary(const Book &other);
    ~Dictionary();

    // Setters & getters
    std::string getWordDescription(const std::string &word_name);
    std::string getWordDescription(const char *word_name);
    void setWord(const char *word_name, const char *word_desc);
    void setWord(const std::string &word_name, const std::string &word_desc);
    void setWord(const std::pair<std::string, std::string> &word);
};

#endif // DICTIONARY_H
